package com.kaizzi.data.jdl.task;

import com.kaizzi.data.common.utils.DateUtil;
import com.kaizzi.data.jdl.entity.JdlPageData;
import com.kaizzi.data.jdl.helper.ExcelHelper;
import com.kaizzi.data.jdl.helper.PageData4;
import com.kaizzi.data.jdl.helper.PageData7;
import com.kaizzi.data.jdl.helper.PageData8;
import com.kaizzi.data.jdl.model.ExcelModel;
import com.kaizzi.data.jdl.service.JdlDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;

/**
 * @author Kzen
 * @Description 定时任务执行部分不需要excel中代码
 * @date 2020/9/10
 */
@Service
public class ScheduledService {

    @Resource
    private ExcelHelper excelHelper;
    @Resource
    private PageData4 pageData4;
    @Resource
    private PageData7 pageData7;
    @Resource
    private PageData8 pageData8;
    @Resource
    private JdlDataService jdlDataService;

    /**
     * 手动触发事件
     * 上传excel 触发事件
     */
    public String saveJdlPageData(){
        ExcelModel model = excelHelper.readExcel();
        //操作excel数据 ，融合插入 apdata数据库内
        //顺序操作model内数据 异常直接结束进行并抛出异常原因
        String data = "";

        JdlPageData pageData = new JdlPageData();
        List<String> pageExcel = getPageExcel();
        for (String page:pageExcel) {
            switch (page){
                case "4":
                    data = pageData4.getData(model);
                    break;
                case "7":
                    data = pageData7.getData(model);
                    break;
                case "8":
                    data = pageData8.getData(model);
                    break;
                case "9":
//                    data = pageData9.getData(model);
                    break;
                case "10":
                    break;
                case "11":
                    break;
                case "17":
                    break;
                case "18":
                    break;
                case "20":
                    break;
                case "21":
                    break;
                case "22":
                    break;
                case "24":
                    break;
                case "25":
                    break;
                case "27":
                    break;
                case "29":
                    break;
                case "30":
                    break;
                case "32":
                    break;
                case "34":
                    break;
                case "35":
                    break;
                case "37":
                    break;
                case "38":
                    break;
                case "39":
                    break;
                case "41":
                    break;
                case "42":
                    break;
                case "45":
                    break;
                default:
                    break;

            }
            pageData.setJdlDate(DateUtil.getLastSundayFormat());
            pageData.setJdlData(data);
            pageData.setJdlPage(page);
            jdlDataService.save(pageData);
        }

        return "SUCCESS";
    }


    private List<String> getPageExcel(){
        List<String> pageList = new ArrayList<>();
        pageList.add("4");
        pageList.add("7");
        pageList.add("8");
        pageList.add("9");
        pageList.add("10");
        pageList.add("11");
        pageList.add("17");
        pageList.add("18");
        pageList.add("20");
        pageList.add("21");
        pageList.add("22");
        pageList.add("24");
        pageList.add("25");
        pageList.add("27");
        pageList.add("29");
        pageList.add("30");
        pageList.add("32");
        pageList.add("34");
        pageList.add("35");
        pageList.add("37");
        pageList.add("38");
        pageList.add("39");
        pageList.add("41");
        pageList.add("42");
        pageList.add("45");

        return pageList;
    }

//    private ExcelModel getExcelModel(){
//        excelHelper.readExcel();
//    }


//    -----------------------------test 分割线-----------------------------------------
//    @Scheduled(cron = "0/5 * * * * ?")	//不能写为MON-SUN
//    public void hello(){
//        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        String date=sdf.format(new Date());
//        System.out.println("定时任务执行："+date);
//    }
}

